
                        *********************************************************
                        ********** Audio Mechanica - By Art 2006 - 2008 *********
                        ********** for Sony PSP - (Playstation Portable)*********
                        *********************************************************

*********************************************************************************************************

Hi Guys,
This is the latest release of my digital audio recorder program which happens to be a complete rewrite.

Many features of the original have been sacrificed for a simplified interface, and direct file recording
functionality. The last of the V6 series may still be worth checking out for people with a DIY microphone
or Socom microphone Headset, since it offers a few cool features such as voice activation and echo effect.

You need either a Socom compatible headset with PSP headphone remote control, a Go!Cam (Chotto Cam),
or a Talkman USB microphone to provide the PSP with compatible hardware for this program to work.

There are numerous modifications to tap a microphone input out of your remote, or find a 4 conductor
3.5mm jack, and convert your own standard PC microphone headset, or, as I have done, convert a mobile
phone headset for use with the PSP. Details of these mods are posted on PSPU forums, and ps2dev.org forums.
In my experience, mobile phone (and DIY) headsets don't have the same quality of the original PSP headset.

On the other hand, for line input , use a stock Ipod Video cable with three RCA connectors on one end,
and the four conductor 3.5mm plug on the other end.
When the Ipod video cable is connected to the PSP remote, the Yellow RCA plug becomes the PSP input,
and the red and white RCA plugs are the Left and Right PSP output channels.

WARNING: Be careful with the level present at the PSP unit's input. Start at low volume and work your way up.
Do not use a level that results in distortion at the output. Most component equipment with line level
outputs will not be suitable because their output level is too high, and cannot be adjusted. Many Digital
TV set top boxes do provide for adjusting the volume of their line level outputs. I have tested the program
with one of these. It is not recommended to connect the PSP to recieve signal from in car audio equipment.

*********************************************************************************************************

PROGRAM OPERATION:
Copy the 'Audio Mechanica' folder to the PSP/GAME folder of your Memory Stick

Plug in your microphone hardware and launch the program.
A data folder (ms0:MUSIC/Audio Mechanica) is created for audio recordings if it does not already exist.
You are then presented with a screen that requests selection of your microphone hardware

- Press Left or Right to select, and Cross to confirm.

A screen will now request whether you want to record directly to Memory Stick, run a loopback test,
or do a RAM buffered recording. 
Direct to Memory Stick recording is limited only by the free space left on your Memory Stick.

RAM buffered recording is an alternative if you experience jitter with Memory Stick recording,
which is likely to happen with slow Memory Sticks, but RAM buffered recording mode provides limited
recording time per recoding according to the allocated 14 Mb RAM buffer, which at 44100 sample rate,
equates to a little under three minutes.

The monitor mode plays the input sound directly out of
the speakers of earphone connector. It is recommended you use earphones, or ear piercing feedback
can result, and may not be healthy for the PSP audio hardware.

- Press Left or Right to select, and Cross to confirm.

Next, you will see the program screen where you can start and stop recording, and see information.

- If in a recording mode, you may press Right to name the next file with the onscreen keyboard.

- If in a monitor mode, pressing Cross starts and stops the loopback routine.

- To start or stop recording press Cross.

- To Exit, press Home and select Yes (also stops any current recording to prevent Memory Stick corruption).


*********************************************************************************************************

Notes:

The display of free Memory Stick space shown in the RAM buffered recording mode is predictive.
The display shows the space that will be left after the file is saved. In direct recording mode,
this display is of actual free space.

This program is tested with the genuine PSP headset PSP-270x, the genuine PSP-300 Go!Cam, and the genuine
PSP-240 Talkman USB microphone. The genuine PSP microphone headset is innovative, and value for money with
the Socom game, at least in my opinion. It would be nice, however,
to have the option of buying the headset seperately in Australia.

Credits:

lteixeira's PSP Audio input library is no longer used in Audio Mechanica, but many thanks for his samples
which helped me understand programming for audio. thanks to kururin of ps2dev.org for providing the Go!Cam
audio sample which was the template for this program.

Thanks to masaking, who dropped in to QJnet forums and directed me to sample code for the Talkman microphone,
and to the authors of Furikup for releasing their source, and filling in the gaps, allowing me to finally get
Talkman microphone support working. Thanks to Peb for the on screen keyboard library.

Donations:

If you would like to support my programmng for the PSP, please consider donating the 32 Mb Memory Stick
that may have come with your PSP console. any other PSP hardware donations would also be appreciated.
Cheers, Art.

bmar8190@bigpond.net.au
bushprogrammer@gmail.com

*********************************************************************************************************

Version History:

Audio Mechanica V8 (10/11/08):
Implemented RAM buffered recording mode.
Implemented support for the Talkman USB microphone PSP-240
Files are now named with the time and date the recording was started.
On screen keyboard implemented making it possible for the user to choose file names.
Code optimisation, and graphic improvements.

Audio Mechanica V7b (03/11/08 pm):
Program reports errors to screen, and constantly checks Memory Stick available space during recording.
Implemented record timer, displays hours, minutes and seconds for the current or last recording.
Program checks and creates target recording folder on the Memory Stick if it doesn't already exist.
Program checks and counts previously recorded files, and does not overwrite them.

Audio Mechanica V7 (03/11/08):
Program rewritten based on ps2dev GoCam audio sample to provide direct to file audio recording.
Graphics library and Intrafont introduced.

Audio Mechanica V6e (15/12/07):
Recompiled with the PSP clock still running 133/133/1.

Audio Mechanica V6d (30/08/07):
The program now underclocks the PSP to 133/133/1 in order to save battery power.

Audio Mechanica V6c (14/10/06):
Right and Left shoulder buttons can now be used to adjust delay time while in echo mode faster than pressing
up and down on the D pad. Use of the shoulder buttons lifts the previous restriction on delay time, and allows
full use of the 22Mb data buffer to provide up to 4 minutes and 21 seconds of delay time.
Added an Echo mode to the Digital Delay Processor.
Fixed seek function (left and right shoulder buttons) to seek at the same speed for every sample rate.
Reel Position is now displayed in elapsed minutes and seconds for all screens.
Delay time for the Delay Processor mode is now displayed in seconds and miliseconds.
Various fixes, and significant code optimisation.

Audio Mechanica V6b (12/10/06):
Minor screen bug fixes.

Audio Mechanica V6 (12/10/06):
Implemented a live Digital Delay Processor with user defined delay period.
Implemented Yakback emulator mode (Repeats everything like a parrot). This mode records constantly,
and stops to play chunks of continuous sound.
Added option to exit the program without saving reel.
Headphone remote buttons that are not pertinent to effect modes are disabled while effect modes are active.

Virtual Tape Recorder V5b (08/10/06):
Increased virtual reel buffer to 22 Mb which provides more recording time for every sample rate.
Implemented MPH's free RAM display at startup to keep track of RAM consumption during development.
Added a visible VOX sensitivity indicator, and the vox sensitivity is now adjustable.
Fixed voice activation routine to scan the wave for peaks so the VOX indicator can work properly.
Other small fixes, and code optimisations.
Added demonstration eboot sound.

Virtual Tape Recorder V5 (06/10/06):
Fixed live monitor to work properly for all supported sample rates, and removed the option to turn
the live monitor off.
Added support for 5512 sample rate which allows over 30 minutes of recording time at low quality.

Virtual Tape Recorder V4d (04/10/06):
Lowered the sensitivity of voice activation for outdoor or possible use in an industrial environment.
Fixed VOX delay time for uniformity across the three supported sample rates.
Added effect demo loop feature to the D pad menu so the hold switch on the remote can be
used as normal.
Fixed effect demo waveform screen so that screen text is not shown.
Tested with genuine Socom headset.

Virtual Tape Recorder V4c (02/10/06):
Expanded waveform again because it looks smoother.
Fix to right hand side of waveform monitor screen.
Added voice activation feature.

Virtual Tape Recorder V4b (01/10/06):
Fixed reset reel index bug. Display was showing 1024 instead of 0 after reset since V4.
Inverted the waveform for graphic waveform monitor. Wave starts from the bottom and moves up.
Compressed waveform on both axis to better fit the screen.
Fixed waveform monitor for effect mode.
Implemented a quick erase reel feature.
Code optimisation.

Virtual Tape Recorder V4 (30/09/06):
Implemented live waveform monitor that provides visual indication that the program and microphone
are operating correctly. Thanks to Saotome for sample code pertaining to this.
Virtual tape reel index position is no longer reset when switching between record and playback modes.
Recording is now stopped rather than looped if a recording is allowed to reach the end of the reel.

Virtual Tape Recorder V3d (26/09/06):
Fixed repeating indicator sound problem when mode is selected with remote control.
Added the option to turn live record monitor on or off.
Added a Mikmod error handler (informs of missing indicator "blip", etc).

Virtual Tape Recorder V3c (25/09/06):
Reel position is now saved to a file upon exit, and loaded at startup, so your index position
is not lost when the program exits.

Virtual Tape Recorder V3b (24/09/06):
Added effect demo loop effect. This is the high frequency 'chipmonk' effect.
Added ASCII graphic play, record, and stop indicators.
Fixed new screen bugs introduced in V3

Virtual Tape Recorder V3 (24/09/06):
Fully supports three different bitrates (44100, 22050, and 11025), which allows for greater
possible recording time.
Displays the available recording time for each supported bitrate.
Program checks for at least 21Mb free space on the Memory Stick before creating the 20Mb Reel.wav file.
Microphone gain control is disabled. Although it is defined in the audio input library, I don't believe
that adjusting it has any effect.

Virtual Tape Recorder V2f (23/09/06):
Mikmod implementation allows indicator sounds for play, record, stop, and reset functions.
Square button resets file index position to zero.
Home button is disabled, program can only exit with Circle button to prevent exit wothout saving.
Program exit with Circle button is not allowed while playing or recording, only while stopped.
Mode swap from record to play, or vice versa, is only allowed in stop mode.

Virtual Tape Recorder V2e (23/09/06):
Screen bugs fixed.
Triangle button only works in stop mode.
Left and Right D pad changes sample rates for record only. This is an experimental feature included
in this release for the interesting sound effect.

Virtual Tape Recorder V2d (19/09/06):
Fixed Rewind to work at correct speed.
Reel is now a Microsoft compliant wav file.

Virtual Tape Recorder V2c (17/09/06):
Fixed a bug introduced with the last release to do with the way fast foward and rewind buttons work.

Virtual Tape Recorder V2b (16/09/06):
Screen errors fixed.
Fast foward and rewind can be used during playback, and are disabled during recording.
Microphone level is adjustable.

Virtual Tape Recorder V2 (16/09/06):
Headphone remote buttons implemented.

Virtual Tape Recorder V1 (16/09/06):
First release.

*********************************************************************************************************